The present invention relates to database and database management systems, and more particularly to data federation.
A data federation system is a type of database management system (DBMS). In a data federation system, a federation engine may be coupled to a plurality of data sources from which the federation engine may access data. Queries for data stored in the plurality of data sources may be received by the federation engine from a plurality of clients. The federation engine may decompose each received query into sub-queries that are distributed to the plurality of data sources. The results of the sub-queries may be aggregated by the federation engine into result sets that are returned to the clients in response to the received queries.
A data federation system may be optimized by creating one or more re-usable “virtual” views that store aggregated results from the sub-queries. Data federation systems typically require a data architect to define the views.
Many data federation systems utilize a large number of data tables and process a large number of queries of the data tables. Accordingly, determining views to optimize performance of the data federation system may be a complex task that is time-intensive.